This invention relates generally to the field of optimization, and more particularly to collaboratively solving an optimization problem using first and second optimization software each having at least partial information concerning the optimization problem.
The manufacture of products or other items commonly involves a multi-stage process that includes the use of equipment of various capacities. In such a multi-stage, variable equipment size process, product or end-item demands are often aggregated or split into manufacturing batches in order to fit the available equipment sizes. The scheduling of these batches must account for the complex factory flows between the manufacturing stages and as well as various business rules unique to the particular industry involved. If the manufacturing process is used to produce multiple products, the scheduling process also preferably minimizes sequence-dependent equipment changeovers between the scheduled batches.
Computer implemented planning and scheduling systems are often used for manufacturing and other supply chain planning functions. In general, such systems can model the manufacturing and related environments and provide plans or schedules for producing items to fulfill consumer demand within the constraints of the environment. Existing scheduling systems, however, typically cannot handle variable equipment sizes or make optimal batching decisions using a number of different criteria. Often a manual heuristic scheme is used, based on the personal expertise of a human operator, to divide demand for a product into batches of a single size and to schedule the batches. However, these heuristic schemes often lead to unsatisfactory factory schedules in terms of under-utilized resources, late deliveries, excess inventories, and overall unbalanced factories. Moreover, they necessarily require a person with detailed knowledge of and extensive experience with the manufacturing process for which the batch aggregation and scheduling is required. These and other deficiencies make previous systems and methods for aggregating and scheduling batches inadequate for many purposes.
According to the present invention, disadvantages and problems associated with previous optimization techniques may be reduced or eliminated.
In one embodiment, a method is provided for collaboratively solving an optimization problem using at least first optimization software and second optimization software each having at least partial information concerning the optimization problem. The method includes: (1) determining a solution to a first sub-problem of the optimization problem using the first optimization software based on the at least partial information concerning the optimization problem known to the first optimization software; (2) communicating from the first optimization software to the second optimization software the solution to the first sub-problem and information concerning one or more penalties for deviating from the solution to the first sub-problem; and (3) determining a solution to a second sub-problem of the optimization problem using the second optimization software based on the at least partial information concerning the optimization problem known to the second optimization software, the communicated solution to the first sub-problem, and the communicated information concerning one or more penalties for deviating from the solution to the first sub-problem.
In a more particular embodiment, the first optimization software includes batch aggregation software operable to aggregate product batches according to one or more aggregation criteria and the second optimization software includes scheduling software operable to schedule the aggregated product batches according to one or more scheduling criteria.
Particular embodiments of the present invention may provide one or more technical advantages. For example, according to decisions and associated feedback they communicate to one another, the first and second optimization software may collaborate to provide a suitable solution, such as an aggregation and scheduling solution where the first optimization software includes batch aggregation software and the second optimization software includes scheduling software. Certain particular embodiments may allow demands for a product or other item to be aggregated into or split between batches, while also allowing the batches to be scheduled in a manner that increases factory throughput and reduces manufacturing costs. Certain particular embodiments may be capable of aggregating batches of variable size across multiple production stages and computing material flows between these stages. By allowing for variable batch sizes, certain particular embodiments may enable the use of a variety of equipment sizes in the manufacturing process and optimizes the use of each of these equipment sizes. Certain particular embodiments may also reduce the quantity of work-in-process, minimize end-item inventory, and reduce product shortages and late deliveries. Certain particular embodiments may also be used to optimize other manufacturing and supply chain planning processes, according to particular needs. One or more other technical advantages may be readily apparent to those skilled in the art from the figures, descriptions, and claims included herein.